PM3.6 - Ice Climbers - Subroutine - 0x38634

  1. IntVariableIncrement { variable: LongtermAccessInt (0x5b) }
  2. IntVariableIncrement { variable: RandomAccessInt(ThrowDataParam1) }
  3. BoolVariableSetTrue { variable: LongtermAccessBool(CanNotTeeter) }
  4. if (OnGround)
    1. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(0.9)))
      1. SetVelocity { x_vel: 0.0, y_vel: 0.0 }
      2. AddVelocity { x_vel: Constant(0.9), y_vel: Constant(0.0) }
    2. else
      1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-0.9)))
        1. SetVelocity { x_vel: 0.0, y_vel: 0.0 }
        2. AddVelocity { x_vel: Constant(-0.9), y_vel: Constant(0.0) }
  5. else
    1. if ((InternalConstantInt(HorizontalCharacterVelocity) GreaterThan scalar(1.2)))
      1. FloatVariableSet { variable: LongtermAccessFloat (0x48), value: InternalConstantInt(VerticalCharacterVelocity) }
      2. SetVelocity { x_vel: 0.0, y_vel: 0.0 }
      3. AddVelocity { x_vel: Constant(1.2), y_vel: Variable(LongtermAccessFloat(Address(72))) }
    2. else
      1. if ((InternalConstantInt(HorizontalCharacterVelocity) LessThan scalar(-1.2)))
        1. FloatVariableSet { variable: LongtermAccessFloat (0x48), value: InternalConstantInt(VerticalCharacterVelocity) }
        2. SetVelocity { x_vel: 0.0, y_vel: 0.0 }
        3. AddVelocity { x_vel: Constant(-1.2), y_vel: Variable(LongtermAccessFloat(Address(72))) }
  6. if (ButtonPress value(1))
    1. IfStatementAnd ((LongtermAccessInt (0x5b) GreaterThanOrEqual scalar(5)))
    2. if ((InternalConstantInt(CurrentSubaction) GreaterThan scalar(468)))
      1. IfStatementAnd (BoolIsTrue RandomAccessBool(EnableLandingLag))
      2. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.06) }
    3. else
      1. if ((InternalConstantInt(CurrentSubaction) GreaterThan scalar(468)))
        1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.14) }
      2. else
        1. if (BoolIsTrue RandomAccessBool(EnableLandingLag))
          1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.11) }
        2. else
          1. AddVelocity { x_vel: Constant(0.0), y_vel: Constant(0.25) }
    4. IntVariableSet { variable: LongtermAccessInt (0x5b), value: 0 }
  7. BoolVariableSetFalse { variable: LongtermAccessBool(CanNotTeeter) }